#include <stdbool.h>
#include "FreeRTOS.h"
#include "task.h"
#include "main.h"
#include "stm32f4xx.h"


void enable_irq(void)
{
    __enable_irq();
}

void disable_irq(void)
{
    __disable_irq();
}

bool is_irq(void)
{
    return __get_IPSR() != 0;
}

bool is_cirtical(void)
{
    return __get_PRIMASK() != 0;
}

bool is_user(void)
{
    return !is_irq() && !is_cirtical();
}

void cpu_reset(void)
{
    NVIC_SystemReset();
}

uint32_t os_now(void)
{
    uint32_t now = xTaskGetTickCount() * portTICK_PERIOD_MS;
    return now;
}
